const mysql = require('../../connect/index');
const sequelize = mysql.sequelize;
const { DataTypes } = require('sequelize');
const Orders = sequelize.define("shop_orders",{
    id:{
        type:DataTypes.INTEGER,
        allowNull:false,
        primaryKey:true,
        autoIncrement:true
    },
    ctime:{
        type:DataTypes.TIME,
        allowNull:false,
    },
    ptime:{
        type:DataTypes.TIME,
        allowNull:false,
    },
    userid:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    address:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    money:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    agentid: {
        type:DataTypes.STRING,
        allowNull:false,
    },
    contract: {
        type: DataTypes.STRING,
        allowNull: true,
    },
    phone:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    state: {
        type:DataTypes.STRING,
        allowNull:false,
    },
    carryid:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    remark: {
        type: DataTypes.STRING,
        allowNull: true,
    }
}, {
    freezeTableName: true, // 禁用表名复数化
    tableName: 'shop_orders',
    timestamps: false,  // 禁用 createdAt 和 updatedAt 字段
});

const OrdersFlow = sequelize.define("shop_orders_flow",{
    id:{
        type:DataTypes.INTEGER,
        allowNull:false,
        primaryKey:true,
        autoIncrement:true
    },
    orderid:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    prestate:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    state:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    operator:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    remark:{
        type:DataTypes.STRING,
        allowNull:false,
    }
}, {
    freezeTableName: true, // 禁用表名复数化
    tableName: 'shop_orders_flow',
    parentId: Orders.id,
    timestamps: false,  // 禁用 createdAt 和 updatedAt 字段
});

Orders.hasMany(OrdersFlow, {
    foreignKey: 'orderid',
});
OrdersFlow.belongsTo(Orders);

module.exports = {
    Orders,
    OrdersFlow
};
